POV-Ray : Newsgroups : povray.binaries.images : Noise3d and Megapov 0.5 : Re: Noise3d and Megapov 0.5 Server Time
2 Oct 2024 12:21:59 EDT (-0400)
  Re: Noise3d and Megapov 0.5  
From: Jerome
Date: 29 Jun 2000 07:51:11
Message: <395B382C.6739148A@iname.com>
Chris Huff wrote:
> 
> What waveform are you using? You should be using ramp_wave if you want
> to compare this sort of thing. Other waveforms will throw it off, I
> think the default for bozo is sine_wave.
> 
	I used the default, but there were no changes when I
specified ramp_wave...

> No. The function is the same, only the amplitude is different. It is the
> same function. Your function is different, and has a very different
> distribution. The only reason it resembles the original in any way is
> that the original was faulty.
> 
	From the instant the values taken by the function is
different, then it is a different function, period. It may
be in the same class of functions but it's not the same.
Sine-waves are a class of function that have certain
properties, polynomials are another with different
properties and so are C0, C1, C2... Noise3d is *not* a
sine-wave, so what properties should it have?

> >       The attached pic uses the color_map which you said was
> > evenly distributed and yet the red is not very present.
> 
> Did you use ramp_wave?
> 
	I did, and I've attached another:
  pigment {
    bozo
    color_map {
      [ 1/4 color rgb <1, 0, 0> ]
      [ 1/4 color rgb <0, 1, 0> ]
      [ 3/4 color rgb <0, 1, 0> ]
      [ 3/4 color rgb <1, 0, 0> ]
    }
    ramp_wave
  }
	Which should be equally distributed too, shouldn't it? (the
standard pattern does much better in that respect, see the
second image)

> Nathan's *is* more correct, because it fixes the clipping without
> introducing a bias toward the sides.
	It introduced a bias towards the middle... Now, I can
probably adapt mine to get a more evenly distributed effect
(but I probably won't have time before the end of next week)

> When designing an isosurface using
> noise3d() or a pigment function, I expect a nice, fairly linear
> function. I often couldn't get the right effect because of the sudden
> "clipping" of the old noise3d(), your function would have a similar
> (though not as severe) problem. The same goes when I am designing
> textures.
	What do you mean by fairly linear?

> Anyway, this looks like it would be better implemented as a pattern
> waveform...it sounds like it will work for any values in the 0-1 range.
	In fact it works with anything in the minus infinity - plus
infinity range, which is exactly the point since it's used
to bring the values that are outside the 0-1 range inside
it.

> You could also adjust the "flatness" of the ends this way. And I don't
> think the "problems" with functions like multifractals are really as
> severe as you say...people won't have to re-learn them, just adapt to
> the new, corrected noise3d().
	Which is exactly what I meant, it's hard enough to find the
right parameters for the effect you want, if everything you
learned by trying to adjust the parameters stops working
because the function was radically altered, you lose a lot
of time.

> Or use #version.
> 
	#version shouldn't be used that way. #version should only
be used to render old scenes that were written for a former
version of pov. The correct way if we want to allow several
noises to coexist is to add a keyword to choose.

		Jerome

PS: I keep asking for your criteria for the noise3d, but I
didn't give mine... Here they are:
- it should be at least C1 (continuously derivable);
- its gradient should be majored (to avoid too abrupt
changes);
- its gradient should be minored (to guarantee some change);
- it should be relatively evenly distributed
	Both Nathan's and mine verify all four criteria. Standard
isn't C1. However I think mine does better on the 3rd and
4th point...

PS2: Does anybody know why the original noise was clipped
rather than being scaled (like Nathan did) or any other
continuous transform? My guess (and it *is* just a guess, I
haven't got a scrap of evidence) would be that it was to
ensure a reasonably even distribution (and anyway the
clipping wasn't really a problem for the bozo pigment...)
Anybody has more info?

-- 

* Doctor Jekyll had something * mailto:ber### [at] inamecom
* to Hyde...                  * http://www.enst.fr/~jberger
*******************************


Post a reply to this message


Attachments:
Download 'noise3d.jpg' (9 KB) Download 'stdnoise3d.jpg' (12 KB)

Preview of image 'noise3d.jpg'
noise3d.jpg

Preview of image 'stdnoise3d.jpg'
stdnoise3d.jpg


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.